package com.dao.intf;

import com.entity.Relation;
import com.entity.User;

import java.util.List;

public interface UserDao {

    //查询管理员信息
    public List<User> queryUserByRoleAdmin();
    //根据用户名查询用户信息
    public User queryUserByUsername(String username);

    //保存用户信息
    public int saveUser(User user);
    //根据 用户名和密码查询用户信息
    public User queryUserByUsernameAndPassword(String username,String password);
    //查询用户关注者的姓名
    public List<Relation> queryFollowerName(String username);



    //查询用户关注者的数量
    public Integer queryFollowerNum(String username);
    //查询用户粉丝的姓名
    public List<Relation> queryFollowedName(String username);
    //查询用户粉丝的数量
    public Integer queryFollowedNum(String username);

    //增加关注
    public Integer addFollower (String followerName,String followedName);

    //取消关注
    public Integer deleteFollower (String followerName,String followedName);


    /**
     * 判断这两个用户之间是否有关注
     * @param followerName
     * @param followedName
     * @return 返回true就说明当前登录用户没有关注目前正在查看的用户，返回false说明已经关注
     */
    public boolean isFollower(String followerName,String followedName);


    //查询被冻结的用户
    public List<User> queryIsFreezedUser ();
    //冻结用户
    public int  setIsFreezed (Integer userId);
    //解冻用户
    public int deleteIsFreezed(Integer userId);

    //修改用户个人信息
    public int updateUserNameAndPassword(String userName,String originalUserName,String passWord);



}